// 获取cookie
// 传键，通过键获取值
function getCookie(key) {
  // 获取当前路径下所有的cookie
  var cookie1 = document.cookie;
  // 把当前字符串进行分割,因为cookie获取的字符串每个数据之间以冒号和空格分隔开
  var arr1 = cookie1.split("; "); // name=张三   age=12
  var str = "";
  arr1.forEach(function (item) {
    //继续分隔获取到的arr1数组
    var arr2 = item.split("="); // 第一次遍历的时候：name 张三 ; 第二次遍历的时候：age 12
    // 判断当前分隔出来的第一个元素是否等于传入的参数
    // console.log(arr2);
    if (arr2[0] == key) {
      str = arr2[1];
      console.log(str);
    }
    //位置1，此时返回的是undefined
    // forEach()无法在所有元素都传递给调用的函数之前终止遍历；位置1只是终止了本次循环，不是整个循环。
    //return str;
  });
  //位置2，此时才返回正确的name
  //forEach本身是不具备返回值的,所以你只能在forEach内部找到这个值，再交由str，然后再返回
  return str;
}

// 设置cookie
// t1表示时间，默认没有，不传time的话，就为会话（session）级别的，也就是刷新的时候，默认会清除数据
function setCookie(key, value, t1) {
  // 获取当前时间
  var dt1 = new Date();
  // 设置保存时间
  var time1 = dt1 - 8 * 3600 * 1000 + t1 * 1000;
  // 设置新的cookie的数据，并且设置到期时间
  // 下面是模板字符串的表示方法，${}存放的是变量
  document.cookie = `${key}=${value};expires=${new Date(time1)}`;
}

//删除cookie
function delCookie(key) {
  // 当前时间减1秒，也就是过去时间
  // 因为 cookie 不能直接删除
  // 所以我们只能把某一条cookie的过期时间设置成当前时间之前
  // 那么浏览器就会自动删除cookie
  setCookie(key, "", -1);
}